/*=============================================================================
*
*   Copyright (C) 2020 All rights reserved.
*
*   Filename:		time_step.hpp
*
*   Author: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Date: 2020-02-21 17:04
*
*   Last Editors: Wang Zhecheng - wangzhecheng@yeah.net
*
*   Last modified:	2020-03-13 00:32
*
*   Description:
*
=============================================================================*/
#ifndef TIMESTEP_H
#define TIMESTEP_H

#include "../geometry/mesh/mesh.hpp"
#include "../util/iterator.hpp"
#include "boundary.hpp"
#include "dof_handler.hpp"
#include "time_period_interface.hpp"

namespace geoxfem {
namespace model {

template <typename SolvePolicy>
struct TimeStep {};

/*params{{{*/
struct time_theta {
  static _real set_get(const _real& v = -1) {
    static _real value;
    value = (v != -1) ? v : value;
    return value;
  }
};
struct relative_tolerance {
  static _real set_get(const _real& v = -1) {
    static _real value;
    value = (v != -1) ? v : value;
    return value;
  }
};
struct absolute_tolerance {
  static _real set_get(const _real& v = -1) {
    static _real value;
    value = (v != -1) ? v : value;
    return value;
  }
};
/*}}}*/

}  // namespace model
}  // namespace geoxfem

#endif /* TIMESTEP_H */
